package com.atde._05_behavioral_design_patterns.interpreter;


import java.util.HashMap;

/**
 * @BelongsProject: hsp_java_design_mode
 * @BelongsPackage: com.atde._05_behavioral_design_patterns.interpreter
 * @Author: Del
 * @CreateTime: 2025-06-30  08:59
 * @Description: 抽象运算符符合解析器，每个运算符号，都只和左右两个数字有关系
 * 但左右两个数字有可能也是一个解析的结果，无论何种类型，都是Expression类的实现类
 * @Version: 1.0
 */
public class SymbolExpression extends Expression{
    protected Expression left;
    protected Expression right;

    public SymbolExpression(Expression left, Expression right) {
        this.left = left;
        this.right = right;
    }

    /**
     *  SymbolExpression 是让其子类来实现，因此 interpret 是一个默认实现
     * @param var
     * @return
     */
    @Override
    int interpret(HashMap<String, Integer> var) {
        return 0;
    }
}
